Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.xml.sax.helpers
Class XMLReaderAdapter

    java.lang.Object
      |
      +--org.xml.sax.helpers.XMLReaderAdapter

All Implemented Interfaces:
  ContentHandler, Parser

public class XMLReaderAdapter
extends Object
implements Parser, ContentHandler

Adapt a SAX2 XMLReader as a SAX1 Parser.

> This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.

This class wraps a SAX2 `XMLReader` and makes it act as a SAX1 `Parser`. The XMLReader must support a true value for the http://xml.org/sax/features/namespace-prefixes property or parsing will fail with a `SAXException`; if the XMLReader supports a false value for the http://xml.org/sax/features/namespaces property, that will also be used to improve efficiency.

Since:
  SAX 2.0
See Also:
  `Parser`, `XMLReader`

Constructor Summary
`XMLReaderAdapter()` Create a new adapter.
`XMLReaderAdapter(XMLReader xmlReader)` Create a new adapter.

Method Summary
`void` | `characters(char[] ch, int start, int length)` Adapt a SAX2 characters event.
`void` | `endDocument()` End document event.
`void` | `endElement(String uri, String localName, String qName)` Adapt a SAX2 end element event.
`void` | `endPrefixMapping(String prefix)` Adapt a SAX2 end prefix mapping event.
`void` | `ignorableWhitespace(char[] ch, int start, int length)` Adapt a SAX2 ignorable whitespace event.
`void` | `parse(InputSource input)` Parse the document.
`void` | `parse(String systemId)` Parse the document.
`void` | `processingInstruction(String target, String data)` Adapt a SAX2 processing instruction event.
`void` | `setDocumentHandler(DocumentHandler handler)` Register the SAX1 document event handler.
`void` | `setDocumentLocator(Locator locator)` Set a document locator.
`void` | `setDTDHandler(DTDHandler handler)` Register the DTD event handler.
`void` | `setEntityResolver(EntityResolver resolver)` Register the entity resolver.
`void` | `setErrorHandler(ErrorHandler handler)` Register the error event handler.
`void` | `setLocale(Locale locale)` Set the locale for error reporting.
`void` | `skippedEntity(String name)` Adapt a SAX2 skipped entity event.
`void` | `startDocument()` Start document event.
`void` | `startElement(String uri, String localName, String qName, Attributes atts)` Adapt a SAX2 start element event.
`void` | `startPrefixMapping(String prefix, String uri)` Adapt a SAX2 start prefix mapping event.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XMLReaderAdapter

    public XMLReaderAdapter()
                     throws SAXException

  Create a new adapter.

  Use the "org.xml.sax.driver" property to locate the SAX2 driver to embed.

Throws:
  `SAXException` - If the embedded driver cannot be instantiated or if the org.xml.sax.driver property is not specified.

### XMLReaderAdapter

    public XMLReaderAdapter(XMLReader xmlReader)

  Create a new adapter.

  Create a new adapter, wrapped around a SAX2 XMLReader. The adapter will make the XMLReader act like a SAX1 Parser.

Parameters:
  `xmlReader` - The SAX2 XMLReader to wrap.
Throws:
  `NullPointerException` - If the argument is null.

Method Detail

### setLocale

    public void setLocale(Locale locale)
                   throws SAXException

  Set the locale for error reporting.

  This is not supported in SAX2, and will always throw an exception.

  Specified by:
    `setLocale` in interface `Parser`
  Parameters:
    `locale` - A Java Locale object.
  Throws:
    `SAXException` - Throws an exception (using the previous or default locale) if the requested locale is not supported.
  See Also:
    `Parser.setLocale(java.util.Locale)`

### setEntityResolver

    public void setEntityResolver(EntityResolver resolver)

  Register the entity resolver.

  Specified by:
    `setEntityResolver` in interface `Parser`
  Parameters:
    `resolver` - The new resolver.
  See Also:
    `Parser.setEntityResolver(org.xml.sax.EntityResolver)`

### setDTDHandler

    public void setDTDHandler(DTDHandler handler)

  Register the DTD event handler.

  Specified by:
    `setDTDHandler` in interface `Parser`
  Parameters:
    `handler` - The new DTD event handler.
  See Also:
    `Parser.setDTDHandler(org.xml.sax.DTDHandler)`

### setDocumentHandler

    public void setDocumentHandler(DocumentHandler handler)

  Register the SAX1 document event handler.

  Note that the SAX1 document handler has no Namespace support.

  Specified by:
    `setDocumentHandler` in interface `Parser`
  Parameters:
    `handler` - The new SAX1 document event handler.
  See Also:
    `Parser.setDocumentHandler(org.xml.sax.DocumentHandler)`

### setErrorHandler

    public void setErrorHandler(ErrorHandler handler)

  Register the error event handler.

  Specified by:
    `setErrorHandler` in interface `Parser`
  Parameters:
    `handler` - The new error event handler.
  See Also:
    `Parser.setErrorHandler(org.xml.sax.ErrorHandler)`

### parse

    public void parse(String systemId)
               throws IOException,
                      SAXException

  Parse the document.

  This method will throw an exception if the embedded XMLReader does not support the http://xml.org/sax/features/namespace-prefixes property.

  Specified by:
    `parse` in interface `Parser`
  Parameters:
    `systemId` - The absolute URL of the document.
  Throws:
    `IOException` - If there is a problem reading the raw content of the document.
    `SAXException` - If there is a problem processing the document.
  See Also:
    `parse(org.xml.sax.InputSource)`, `Parser.parse(java.lang.String)`

### parse

    public void parse(InputSource input)
               throws IOException,
                      SAXException

  Parse the document.

  This method will throw an exception if the embedded XMLReader does not support the http://xml.org/sax/features/namespace-prefixes property.

  Specified by:
    `parse` in interface `Parser`
  Parameters:
    `input` - An input source for the document.
  Throws:
    `IOException` - If there is a problem reading the raw content of the document.
    `SAXException` - If there is a problem processing the document.
  See Also:
    `parse(java.lang.String)`, `Parser.parse(org.xml.sax.InputSource)`

### setDocumentLocator

    public void setDocumentLocator(Locator locator)

  Set a document locator.

  Specified by:
    `setDocumentLocator` in interface `ContentHandler`
  Parameters:
    `locator` - The document locator.
  See Also:
    `ContentHandler.setDocumentLocator(org.xml.sax.Locator)`

### startDocument

    public void startDocument()
                       throws SAXException

  Start document event.

  Specified by:
    `startDocument` in interface `ContentHandler`
  Throws:
    `SAXException` - The client may raise a processing exception.
  See Also:
    `ContentHandler.startDocument()`

### endDocument

    public void endDocument()
                     throws SAXException

  End document event.

  Specified by:
    `endDocument` in interface `ContentHandler`
  Throws:
    `SAXException` - The client may raise a processing exception.
  See Also:
    `ContentHandler.endDocument()`

### startPrefixMapping

    public void startPrefixMapping(String prefix,
                                   String uri)

  Adapt a SAX2 start prefix mapping event.

  Specified by:
    `startPrefixMapping` in interface `ContentHandler`
  Parameters:
    `prefix` - The prefix being mapped.
    `uri` - The Namespace URI being mapped to.
  See Also:
    `ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)`

### endPrefixMapping

    public void endPrefixMapping(String prefix)

  Adapt a SAX2 end prefix mapping event.

  Specified by:
    `endPrefixMapping` in interface `ContentHandler`
  Parameters:
    `prefix` - The prefix being mapped.
  See Also:
    `ContentHandler.endPrefixMapping(java.lang.String)`

### startElement

    public void startElement(String uri,
                             String localName,
                             String qName,
                             Attributes atts)
                      throws SAXException

  Adapt a SAX2 start element event.

  Specified by:
    `startElement` in interface `ContentHandler`
  Parameters:
    `uri` - The Namespace URI.
    `localName` - The Namespace local name.
    `qName` - The qualified (prefixed) name.
    `atts` - The SAX2 attributes.
  Throws:
    `SAXException` - The client may raise a processing exception.
  See Also:
    `ContentHandler.endDocument()`

### endElement

    public void endElement(String uri,
                           String localName,
                           String qName)
                    throws SAXException

  Adapt a SAX2 end element event.

  Specified by:
    `endElement` in interface `ContentHandler`
  Parameters:
    `uri` - The Namespace URI.
    `localName` - The Namespace local name.
    `qName` - The qualified (prefixed) name.
  Throws:
    `SAXException` - The client may raise a processing exception.
  See Also:
    `ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)`

### characters

    public void characters(char[] ch,
                           int start,
                           int length)
                    throws SAXException

  Adapt a SAX2 characters event.

  Specified by:
    `characters` in interface `ContentHandler`
  Parameters:
    `ch` - An array of characters.
    `start` - The starting position in the array.
    `length` - The number of characters to use.
  Throws:
    `SAXException` - The client may raise a processing exception.
  See Also:
    `ContentHandler.characters(char[], int, int)`

### ignorableWhitespace

    public void ignorableWhitespace(char[] ch,
                                    int start,
                                    int length)
                             throws SAXException

  Adapt a SAX2 ignorable whitespace event.

  Specified by:
    `ignorableWhitespace` in interface `ContentHandler`
  Parameters:
    `ch` - An array of characters.
    `start` - The starting position in the array.
    `length` - The number of characters to use.
  Throws:
    `SAXException` - The client may raise a processing exception.
  See Also:
    `ContentHandler.ignorableWhitespace(char[], int, int)`

### processingInstruction

    public void processingInstruction(String target,
                                      String data)
                               throws SAXException

  Adapt a SAX2 processing instruction event.

  Specified by:
    `processingInstruction` in interface `ContentHandler`
  Parameters:
    `target` - The processing instruction target.
    `data` - The remainder of the processing instruction
  Throws:
    `SAXException` - The client may raise a processing exception.
  See Also:
    `ContentHandler.processingInstruction(java.lang.String, java.lang.String)`

### skippedEntity

    public void skippedEntity(String name)
                       throws SAXException

  Adapt a SAX2 skipped entity event.

  Specified by:
    `skippedEntity` in interface `ContentHandler`
  Parameters:
    `name` - The name of the skipped entity.
  Throws:
    `SAXException` - Any SAX exception, possibly wrapping another exception.
  See Also:
    `ContentHandler.skippedEntity(java.lang.String)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.